//
//  XYCacheHelper.h
//  PeiJue
//
//  Created by lxy on 2017/10/13.
//  Copyright © 2017年 lixiya. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "XYCacheConstKey.h"
NS_ASSUME_NONNULL_BEGIN

@interface XYCacheHelper : NSObject
+ (instancetype)shareInstance;

/**
 存储一个对象到Document目录的数据库中，该数据会在用户退出登录时进行清空
 
 @param object 实现NSCoding协议的对象
 @param key 关键标识
 */
- (void)cacheToDocumentDirWithObject:(nullable id<NSCoding>)object forKey:(NSString *)key;

/**
 存储一个对象到Cache目录的数据库中，该数据不会随着用户退出而清空，会在适当的时候进行手动清空或者用户设备硬盘空间不足时被系统清空
 
 @param object 实现NSCoding协议的对象
 @param key 关键标识
 */
- (void)cacheToCacheDirWithObject:(nullable id<NSCoding>)object forKey:(NSString *)key;

- (id)getObjectFromDocumentDirForKey:(NSString *)key;
- (id)getObjectFromCacheDirForKey:(NSString *)key;

- (void)removeCacheFromDocumentDirWithBlock:(void(^)(void))block;
- (void)removeCacheFromCacheDirWithBlock:(void(^)(void))block;

@end
NS_ASSUME_NONNULL_END
